open Castling;;

module CharPG = ParserGenerator (CharToken);;
open CharPG;;

let rec a = lazy !! (
	one_of ~name:"a" [
		"e", b;
		"n", b >> skip (element ';') >> a]
) and b = lazy !! (
	sequence_of (
		one_of ~name:"b" [
			"x", element 'x';
			"y", element 'y'] >>
		skip (element 'z'))
);;

debug := true;;
runtime_debug := true;;
generate a;;
